docs: README pre-release lifts (numbers, hypergeometric, scope, security, research) - #75
Conversation
…ity, research) Surfaces what the README was underselling, staying fiction-free — every number is verified against the committed synthetic benchmark, and no paper / real-corpus numbers are used (those are mid-re-run): - Reproducible-benchmark section gains a 5-row operating-point table from the committed synthetic run (benchmarks/rank_modes_results.txt), with explicit caveats: synthetic corpus, specific hardware, and R@10-deterministic / throughput-varies. - Hypergeometric null of the Bitmap prefilter (H(D,n_top,n_top), E=n_top^2/D) surfaced as the principled-test framing (from RANK_MODES.md). - "Security: index-file trust" callout — formats are unsigned by design; verify origin externally (links INDEX_PROVENANCE.md + THREAT_MODEL.md). - "Research collaboration" section — explicit named-co-authorship invite for the in-progress ordinal-retrieval paper (real-corpus eval, theory, repro). - "Scope" — library/substrate that composes under an ANN/sharding layer for scale (not "can't scale"); training-free. - RankQuantFastscan surfaced with caveats (#[doc(hidden)], unstable, 2x storage); MultiBucketBitmap (experimental) noted. - Python bindings noted as in-progress (PyPI pending). - MSRV 1.89 rationale made precise (AVX-512 intrinsics + u64::is_multiple_of; hard compile floor). - Documentation section gains ALTERNATIVES_CONSIDERED + index-trust links. Does not assert the paper's "third category" positioning (still settling). Signed-off-by: Nelson Spence <nelson@projectnavi.ai>
Review Summary by QodoREADME documentation enhancements with benchmark, security, and research sections
WalkthroughsDescription• Adds reproducible benchmark table with operating points from synthetic corpus • Surfaces Bitmap prefilter's hypergeometric null as principled statistical test • Introduces Security section on index-file trust and format validation • Adds Research collaboration section with named co-authorship invitation • Clarifies scope as composable library layer under ANN/sharding systems • Documents RankQuantFastscan and MultiBucketBitmap with stability caveats • Notes in-progress Python bindings and PyPI release pending • Refines MSRV 1.89 rationale with precise intrinsic and API requirements Diagramflowchart LR
A["README Content"] --> B["Benchmark Table"]
A --> C["Hypergeometric Null"]
A --> D["Security: Index Trust"]
A --> E["Research Collaboration"]
A --> F["Scope Clarification"]
A --> G["API Stability Notes"]
B --> H["Operating Points"]
C --> I["Statistical Test Framing"]
D --> J["Format Validation"]
E --> K["Co-authorship Invite"]
F --> L["Composable Layer"]
G --> M["RankQuantFastscan & MultiBucketBitmap"]
File Changes1. README.md
|
Code Review by Qodo
1. Broken packaged doc link
|
There was a problem hiding this comment.
Code Review
This pull request updates the project's documentation in README.md and CHANGELOG.md to prepare for a pre-release. The updates include adding a synthetic benchmark operating-point table, explaining the hypergeometric null of the bitmap prefilter, detailing the security trust model, and introducing a research collaboration section. The reviewer pointed out a minor inaccuracy in the MSRV rationale section of the README, which references u64::is_multiple_of instead of usize::is_multiple_of as used in the codebase.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Pull request overview
Documentation-focused update to the project’s README/Changelog to better reflect ordvec’s intended positioning (flat-scan substrate that composes under ANN/sharding), expose key intellectual framing (hypergeometric null for bitmap overlap), and add operational/security/research context ahead of a first release.
Changes:
- Expands README with clarified scope/positioning, a benchmark operating-point excerpt, and a hypergeometric-null explanation for
Bitmap. - Adds sections on index-file trust/security, research collaboration, Python bindings status, and additional docs links.
- Updates CHANGELOG with a summary entry for the README documentation lift.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| README.md | Adds/reshapes multiple README sections: scope framing, benchmark excerpt, hypergeometric-null explanation, security/index trust guidance, Python status, and research collaboration. |
| CHANGELOG.md | Records the README-focused documentation lift under Unreleased. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codex stop-gate: the hypergeometric section overstated the claim. The null fixes the filter's *selectivity* (false-positive rate for an unrelated doc) in closed form; whether *true* neighbours clear the bar is empirical, not combinatorial — it's a candidate-generation null, not a retrieval-optimality theorem. Dropped the 'principled statistical test' / p-value-detector framing. Surfaced the deeper guarantee instead (not underselling): the order-only rank invariance is machine-checked in Lean (formalisation accompanies the paper). Also: 'not a navigable-graph index ... on its own, yet.' (graph-ready). Signed-off-by: Nelson Spence <nelson@projectnavi.ai>
Bot findings (gemini/copilot): - D was overloaded (population size vs 'popcount(Q AND D)' document) — the hypergeometric is now over 'dim': H(dim, n_top, n_top), n_top^2/dim. - 'runtime-dispatched SIMD' wrongly covered NEON/wasm — dispatch is x86-only; NEON (aarch64) is baseline and wasm uses compile-time simd128. Reworded. - 'u64::is_multiple_of' -> 'is_multiple_of' (stabilized 1.87 across int types; the crate uses it on usize). Also (Nelson): 'yet' now attaches to the navigable-graph index only — ordvec is explicitly not a serving tier (it's the substrate, not a vendor competitor). Signed-off-by: Nelson Spence <nelson@projectnavi.ai>
README pre-release lifts
Surfaces what the README was underselling, from the Perplexity feedback + my read of it. Two guardrails held throughout:
benchmarks/rank_modes_results.txt.What landed
Bitmapprefilter'sH(D,n_top,n_top),E=n_top²/Dframing (fromdocs/RANK_MODES.md) as the real intellectual core. Repo framing, no unverifiable superlatives.docs/INDEX_PROVENANCE.md+THREAT_MODEL.md.RankQuantFastscansurfaced with caveats (#[doc(hidden)], unstable API, 2× storage) per your call;MultiBucketBitmap(experimental) noted.u64::is_multiple_of; hard compile floor).ALTERNATIVES_CONSIDERED+ index-trust links.Verification
All table figures cross-checked against
benchmarks/rank_modes_results.txt(e.g. b=2 asym 0.2382 ms → 0.24; FastScan 332.9 Mdocs/s → 333; R@10 0.5715 → 0.572). Caught + fixed one of my own slips pre-commit (FastScan footprint isdim/2B/doc, notdim). Docs-only — no code, no build impact.